/*
 * Copyright (c) 2016-2017 fulihui.com All right reserved
 * Project: information-core-170307
 * File name: DynamicNavbarService.java
 */

package com.fulihui.information.api;

import com.fulihui.information.dto.DynamicNavbarDTO;
import com.fulihui.information.request.DynamicNavbarQueryPageRequest;
import com.fulihui.information.request.DynamicNavbarQueryRequest;
import com.fulihui.information.request.DynamicNavbarQuerySingleRequest;
import com.fulihui.information.request.DynamicNavbarSaveRequest;
import org.near.servicesupport.result.BaseResult;
import org.near.servicesupport.result.TMultiResult;
import org.near.servicesupport.result.TPageResult;
import org.near.servicesupport.result.TSingleResult;

/**
 * @author Willard.Hu on 2017/3/3 0003.
 */
public interface DynamicNavbarService {
    /**
     * 新增，修改
     * @param request {@link DynamicNavbarSaveRequest}
     * @return {@link BaseResult}
     */
    BaseResult save(DynamicNavbarSaveRequest request);

    /**
     * 删除
     * @param request {@link DynamicNavbarQuerySingleRequest}
     * @return {@link BaseResult}
     */
    BaseResult delete(DynamicNavbarQuerySingleRequest request);

    /**
     * 查询单个
     * @param request {@link DynamicNavbarQuerySingleRequest}
     * @return {@link DynamicNavbarDTO}
     */
    TSingleResult<DynamicNavbarDTO> querySingle(DynamicNavbarQuerySingleRequest request);

    /**
     * 查询多个
     * @param request {@link DynamicNavbarQueryRequest}
     * @return {@link DynamicNavbarDTO} 列表
     */
    TMultiResult<DynamicNavbarDTO> query(DynamicNavbarQueryRequest request);

    /**
     * 分页查询
     * @param request {@link DynamicNavbarQueryPageRequest}
     * @return {@link DynamicNavbarDTO} 列表
     */
    TPageResult<DynamicNavbarDTO> queryPage(DynamicNavbarQueryPageRequest request);
}
